import request from '@/utils/request'

/**
 * 手机号登录
 * @param {string} phone - 手机号
 * @returns {Promise}
 */
export function phoneLoginAPI(phone) {
  // 确保手机号存在且为有效值
  if (!phone) {
    console.error('手机号无效:', phone);
    return Promise.resolve(null);
  }
  
  // 验证手机号格式
  if (!/^1[3-9]\d{9}$/.test(phone)) {
    console.error('手机号格式不正确:', phone);
    return Promise.resolve(null);
  }
  
  // 调用后端接口进行登录
  return request.post('/api/customerInfo/login', { phone }).then(res => {
    // 根据实际API返回格式，提取data字段
    // 检查响应中的code字段确保请求成功（code === 0）
    if (res && res.code === 0) {
      return res;
    }
    
    // 处理特定的错误码
    if (res && res.code !== 0) {
      console.error('手机号登录失败，错误码:', res.code, '错误信息:', res.msg);
    }
    
    // 如果格式不符合预期，返回null
    return null;
  }).catch(error => {
    console.error('手机号登录失败:', error);
    // 出错时返回null
    return null;
  });
}

/**
 * 根据客户ID获取客户信息
 * @param {number} id - 客户ID
 * @returns {Promise}
 */
export function getCustomerInfoAPI(id) {
  // 确保ID存在且为有效值
  if (!id) {
    console.error('客户ID无效:', id);
    return Promise.resolve(null);
  }
  
  // 调用后端接口获取客户信息
  return request.post(`/api/customerInfo/get?id=${id}`).then(res => {
    // 根据实际API返回格式，提取data字段
    // 检查响应中的code字段确保请求成功（code === 0）
    if (res && res.code === 0 && res.data) {
      return res.data;
    }
    
    // 处理特定的错误码
    if (res && res.code !== 0) {
      console.error('获取客户信息失败，错误码:', res.code, '错误信息:', res.msg);
    }
    
    // 如果响应格式不符合预期，输出详细调试信息
    return null;
  }).catch(error => {
    console.error('获取客户信息失败:', error);
    // 出错时返回null
    return null;
  });
}